From ba1636be87b9f5d567d8ca5dbd9ae4c7c2476a64 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Mon, 28 Dec 2015 10:27:08 -0500 Subject: [PATCH] statusicon: Avoid criticals MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit The code handles the possibility of pixbuf being NULL, but after b411c318321fd4de556926119cbc6e3ba14f073a we must be prepared for surface already being NULL. Pointed out by Albert Muktupāvels, https://bugzilla.gnome.org/show_bug.cgi?id=759917 --- gtk/deprecated/gtkstatusicon.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/gtk/deprecated/gtkstatusicon.c b/gtk/deprecated/gtkstatusicon.c index 627a291f5b..29ccf77d23 100644 --- a/gtk/deprecated/gtkstatusicon.c +++ b/gtk/deprecated/gtkstatusicon.c @@ -1399,8 +1399,13 @@ gtk_status_icon_update_image (GtkStatusIcon *status_icon) _gtk_icon_helper_set_icon_size (icon_helper, GTK_ICON_SIZE_SMALL_TOOLBAR); _gtk_icon_helper_set_pixel_size (icon_helper, round_size); surface = gtk_icon_helper_load_surface (icon_helper, 1); - pixbuf = gdk_pixbuf_get_from_surface (surface, 0, 0, round_size, round_size); - cairo_surface_destroy (surface); + if (surface) + { + pixbuf = gdk_pixbuf_get_from_surface (surface, 0, 0, round_size, round_size); + cairo_surface_destroy (surface); + } + else + pixbuf = NULL; g_object_unref (icon_helper); if (pixbuf != NULL) -- 2.30.2